package com.hbnu.expression;

import java.util.Random;
import java.util.Scanner;

/**
 * 猜数字游戏：
 *  程序随机生成一个1-100之间的数字，用户从键盘输入数字，如果用户输入的数字和
 *  程序产生的随机数字一样，则结束游戏，如果不一样，则给出相应的提示信息
 */
public class Expression04 {

    public static void main(String[] args) {
        // 1、程序产生一个1-100之间的随机数
        Random random = new Random();
        int number = random.nextInt(1000000000) +1;

        // 2、创建一个键盘输入对象
        Scanner scanner = new Scanner(System.in);

        // 3、定义一个整型变量，用于接收用户从键盘输入的数字
        int guessNumber = 0;

        // 4、开始游戏
        while (true) {
            System.out.println("请输入一个1-1000000000之间的数字(猜对有奖,输入0结束游戏)：");
            try {
                guessNumber = Integer.parseInt(scanner.nextLine());
            } catch (NumberFormatException e) {
                System.out.println("输入不正确，请重新输入");
                continue;
            }

            if (guessNumber < 0 || guessNumber > 1000000000) {
                System.out.println("输入不正确，请重新输入");
                continue;
            }

            if (guessNumber == 0) {
                System.exit(0);
            }

            if (guessNumber < number) {
                System.out.println("你输入的数字比程序产生的随机数小");
            } else if (guessNumber > number) {
                System.out.println("你输入的数字比程序产生的随机数大");
            } else {
                System.out.println("恭喜你，猜对了");
                break;
            }
        }
    }
}
